#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<stdlib.h>

int main()
{
    pid_t id = fork();
    if(id < 0 )
    {
        perror("fork fail\n");
        exit(1);
    }
    else if( id == 0 )
    {
        //子进程
        int cnt = 5;
        while(cnt)
        {
             printf("我是子进程，我还活着，还有%dS, pid: %d, ppid: %d\n",cnt--,getpid(),getppid());
            sleep(1);
        }
        exit(0);
    }
    //上面子进程 exit了，所以下面肯定是父进程
    sleep(10);
    pid_t ret_id = wait(NULL);
    printf("我是父进程，等待子进程成功，pid: %d, ppid: %d,ret_id: %d\n",getpid(),getppid(),ret_id);

    return 0;
}

